package com.site.war.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.site.common.annotation.Excel;
import com.site.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 预警信息对象 site_warning
 * 
 * @author site
 * @date 2023-10-10
 */
public class SiteWarning extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 工地编号 */
    @Excel(name = "工地编号")
    private String siteNumber;

    /** 工地名称 */
    @Excel(name = "工地名称")
    private String siteName;

    /** 设备编号（和设备类型对应） */
    @Excel(name = "设备编号", readConverterExp = "和=设备类型对应")
    private String towerCraneNumber;

    /** 预警位置 */
    @Excel(name = "预警位置")
    private String warningPosition;

    /** 预警类型 */
    @Excel(name = "预警类型")
    private String warningType;

    /** 预警内容 */
    @Excel(name = "预警内容")
    private String warningContent;

    /** 预警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预警时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warningTime;

    /** 预警类型（1 报警 2 预警） */
    @Excel(name = "预警类型", readConverterExp = "1=报警,2=预警")
    private Long warningStatic;

    /** 设备类型（1 塔吊 2 吊篮 3 升降机） */
    @Excel(name = "设备类型", readConverterExp = "1=,塔=吊,2=,吊=篮,3=,升=降机")
    private Long deviceType;

    /** 提交状态（ 0 默认 1 已消除 2 已逾期） */
    @Excel(name = "提交状态", readConverterExp = "0=,默=认,1=,已=消除")
    private Long updateStatic;

    /** 逾期状态（ 0 默认 1 逾期） */
    @Excel(name = "逾期状态", readConverterExp = "0=,默=认,1=,逾期")
    private Long overdue;

    /** 消除证明 */
    @Excel(name = "消除证明")
    private String eliminImg;

    /** 消除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "消除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date eliminTime;

    /** 用户签名 */
    @Excel(name = "用户签名")
    private String userSign;

    /** 推送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "推送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pushTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSiteNumber(String siteNumber) 
    {
        this.siteNumber = siteNumber;
    }

    public String getSiteNumber() 
    {
        return siteNumber;
    }
    public void setSiteName(String siteName) 
    {
        this.siteName = siteName;
    }

    public String getSiteName() 
    {
        return siteName;
    }
    public void setTowerCraneNumber(String towerCraneNumber) 
    {
        this.towerCraneNumber = towerCraneNumber;
    }

    public String getTowerCraneNumber() 
    {
        return towerCraneNumber;
    }
    public void setWarningPosition(String warningPosition) 
    {
        this.warningPosition = warningPosition;
    }

    public String getWarningPosition() 
    {
        return warningPosition;
    }
    public void setWarningType(String warningType) 
    {
        this.warningType = warningType;
    }

    public String getWarningType() 
    {
        return warningType;
    }
    public void setWarningContent(String warningContent) 
    {
        this.warningContent = warningContent;
    }

    public String getWarningContent() 
    {
        return warningContent;
    }
    public void setWarningTime(Date warningTime) 
    {
        this.warningTime = warningTime;
    }

    public Date getWarningTime() 
    {
        return warningTime;
    }
    public void setDeviceType(Long deviceType) 
    {
        this.deviceType = deviceType;
    }

    public Long getDeviceType() 
    {
        return deviceType;
    }
    public void setUpdateStatic(Long updateStatic) 
    {
        this.updateStatic = updateStatic;
    }

    public Long getWarningStatic() {
        return warningStatic;
    }

    public void setWarningStatic(Long warningStatic) {
        this.warningStatic = warningStatic;
    }

    public Long getUpdateStatic()
    {
        return updateStatic;
    }
    public void setEliminImg(String eliminImg) 
    {
        this.eliminImg = eliminImg;
    }

    public String getEliminImg() 
    {
        return eliminImg;
    }
    public void setEliminTime(Date eliminTime) 
    {
        this.eliminTime = eliminTime;
    }

    public Date getEliminTime() 
    {
        return eliminTime;
    }
    public void setUserSign(String userSign) 
    {
        this.userSign = userSign;
    }

    public String getUserSign() 
    {
        return userSign;
    }
    public void setPushTime(Date pushTime) 
    {
        this.pushTime = pushTime;
    }

    public Date getPushTime() 
    {
        return pushTime;
    }

    public Long getOverdue() {
        return overdue;
    }

    public void setOverdue(Long overdue) {
        this.overdue = overdue;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("siteNumber", getSiteNumber())
            .append("siteName", getSiteName())
            .append("towerCraneNumber", getTowerCraneNumber())
            .append("warningPosition", getWarningPosition())
            .append("warningType", getWarningType())
            .append("warningContent", getWarningContent())
            .append("warningTime", getWarningTime())
            .append("warningStatic", getWarningStatic())
            .append("deviceType", getDeviceType())
            .append("updateStatic", getUpdateStatic())
            .append("overdue", getOverdue())
            .append("eliminImg", getEliminImg())
            .append("eliminTime", getEliminTime())
            .append("userSign", getUserSign())
            .append("pushTime", getPushTime())
            .append("createTime", getCreateTime())
            .append("remark", getRemark())
            .toString();
    }
}
